package com.design.pattern.adapter.clazz;

import com.sun.org.apache.xpath.internal.SourceTree;

/**
 * 类适配器,继承被适配者实现目标接口
 */
public class ClazzAdapter extends ThreeHoleSocketInstance implements TwoHoleSocket {

    @Override
    public void useFor2() {
        super.useFor3();
    }

    /**
     * 为了简化代码,此处{@link ClazzAdapter}也承担了调用者的职责
     * @param args
     */
    public static void main(String[] args) {
        /**
         * 这里直接使用适配器
         */
        TwoHoleSocket twoHoleSocket=new ClazzAdapter();
        //调用的是两口插座的方法,但实际上使用了三孔功能.
        twoHoleSocket.useFor2();
    }
}
/**
 * 目标接口:Target,我们需要的,当前可使用的规范
 */
interface TwoHoleSocket{
    public void useFor2 ();
}
/**
 * 被适配的类(当前已经存在,但是却不符合我们既定标准的实现)
 */
class ThreeHoleSocketInstance {

    public void useFor3() {
        System.out.println("您使用的是三孔插座");
    }
}
